package novel.manager.service.impl.spider.chapter;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import novel.manager.pojo.spider.Chapter;
/***因为网站的章节列表顺序不一致，所以要先继承AbstractChapterSpider，再覆盖getChapters，调用super.getChapters后自己处理顺序
substring前闭后开
o1---o2：顺序，o2---o1:反序*/
public class BxwxChapterSpider extends AbstractChapterSpider {
	//继承了方法：抓取指定小说网站的整个页面所有内容，protected String crawl(String url) throws Exception {

	//从指定小说网站的整个页面所有内容中抓取章节列表	
	//章节列表页面
	public List<Chapter> getChapters(String url) {
		List<Chapter> chapters = super.getChapters(url);
		Collections.sort(chapters, new Comparator<Chapter>() {
			@Override
			public int compare(Chapter o1, Chapter o2) {
				String o1Url = o1.getUrl();
				String o2Url = o2.getUrl();
				String o1Index = o1Url.substring(o1Url.lastIndexOf('/') + 1, o1Url.lastIndexOf('.'));
				String o2Index = o2Url.substring(o2Url.lastIndexOf('/') + 1, o2Url.lastIndexOf('.'));
				return o1Index.compareTo(o2Index);
			}
		});
		return chapters;
	}
}
